[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
     exec(LIST)

     exec LIST

             If there is more than one argument in  LIST,  or  if
             LIST  is  an  array  with more than one value, calls
             execvp() with the arguments in LIST.   If  there  is
             only  one  scalar  argument, the argument is checked
             for shell metacharacters.  If  there  are  any,  the
             entire  argument is passed to "/bin/sh -c" for pars-
             ing.  If there are none, the argument is split  into
             words and passed directly to execvp(), which is more
             efficient.  Note: exec (and  system)  do  not  flush
             your  output  buffer,  so  you may need to set $| to
             avoid lost output.  Examples:

                  exec '/bin/echo', 'Your arguments are: ', @ARGV;
                  exec "sort $outfile | uniq";


             If you don't really want to execute the first  argu-
             ment, but want to lie to the program you are execut-
             ing about its own name, you can specify the  program
             you  actually  want  to  run  by assigning that to a
             variable and putting the name  of  the  variable  in
             front  of  the  LIST  without a comma.  (This always
             forces interpretation of the LIST as a  multi-valued
             list,  even  if there is only a single scalar in the
             list.)  Example:

                  $shell = '/bin/csh';
                  exec $shell '-sh';       # pretend it's a login shell

             The MS-DOS  implementation  of  exec  has  problems.
             Unlike system and pipes it is not MKS toolkit compa-
             tible.  As of this writing (September 1991) it  will
             not  even allow for temporary file cleanup.  The use
             of exec on MS-DOS is strongly discouraged.

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson